<?php
/***************************************************************
*  Copyright notice
*
*  (c) 2011 Florian Müller <it-admin@ifp-potsdam.co>, IFP
*  
*  All rights reserved
*
*  This script is part of the TYPO3 project. The TYPO3 project is
*  free software; you can redistribute it and/or modify
*  it under the terms of the GNU General Public License as published by
*  the Free Software Foundation; either version 3 of the License, or
*  (at your option) any later version.
*
*  The GNU General Public License can be found at
*  http://www.gnu.org/copyleft/gpl.html.
*
*  This script is distributed in the hope that it will be useful,
*  but WITHOUT ANY WARRANTY; without even the implied warranty of
*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
*  GNU General Public License for more details.
*
*  This copyright notice MUST APPEAR in all copies of the script!
***************************************************************/


/**
 * Repository for Tx_IfpCurriculum2_Domain_Model_Veranstaltung
 */
class Tx_IfpCurriculum2_Domain_Repository_VeranstaltungRepository extends Tx_Extbase_Persistence_Repository {
protected $defaultOrderings = array('erstbeginn'=>Tx_Extbase_Persistence_QueryInterface::ORDER_ASCENDING);
/**
 * 
 *
 * 
 */
 public function getFuture(){
 	$query = $this->createQuery();
	return $query->matching($query->greaterThan('erstbeginn',time()-3600*48))->setOrderings(array("erstbeginn"=>Tx_Extbase_Persistence_QueryInterface::ORDER_ASCENDING))->execute();
	
 }
 /**
  * 
  * Enter description here ...
  * @param Tx_IfpCurriculum2_Domain_Model_Semester $semester
  */
  public function getBySemester(Tx_IfpCurriculum2_Domain_Model_Semester $semester){
 	$query = $this->createQuery();
	return $query->matching($query->equals('semester',$semester))->setOrderings(array("erstbeginn"=>Tx_Extbase_Persistence_QueryInterface::ORDER_ASCENDING))->execute();
	
 }
 
 
/**
  * 
  * Enter description here ...
  * @param Tx_IfpCurriculum2_Domain_Model_Kurs $kurs
  */
  public function getByKursInFuture(Tx_IfpCurriculum2_Domain_Model_Kurs $kurs){
 	$query = $this->createQuery();
	return $query->matching($query->logicalAnd($query->equals('kurs',$kurs),$query->greaterThan('erstbeginn',time())))->setOrderings(array("erstbeginn"=>Tx_Extbase_Persistence_QueryInterface::ORDER_ASCENDING))->execute();
	
 }
 
 public function getNextHot(){
 	$query = $this->createQuery();
 	return $query->matching($query->logicalAnd($query->greaterThan('erstbeginn',time()-3600*48),$query->equals('hot','1')))->setOrderings(array("erstbeginn"=>Tx_Extbase_Persistence_QueryInterface::ORDER_ASCENDING))->execute()->getFirst();
 
 }
 /**
  * 
  * Enter description here ...
  * @return Tx_IfpCurriculum2_Domain_Model_Veranstaltung 
  */
 public function getNextPublic(){
 $query = $this->createQuery();
 return $query->matching($query->logicalAnd($query->greaterThan('erstbeginn',time()-3600*48),$query->equals('offen','1')))->setOrderings(array("erstbeginn"=>Tx_Extbase_Persistence_QueryInterface::ORDER_ASCENDING))->execute()->getFirst();
 
 }
 
}
?>